import type { SysUserVo } from './types/user'
import { http } from '@/http/http'

/**
 * 用户资料更新DTO
 */
export interface UserProfileUpdateDto {
  /** 用户昵称 */
  nickName?: string
  /** 用户头像(OSS文件ID) */
  avatar?: number
  /** 手机号码 */
  phonenumber?: string
  /** 用户性别（0男 1女 2未知） */
  sex?: string
  /** 用户邮箱 */
  email?: string
}

/**
 * 获取当前登录用户信息
 */
export function getProfile() {
  return http.get<SysUserVo>('/api/user/profile')
}

/**
 * 更新用户资料
 */
export function updateProfile(data: UserProfileUpdateDto) {
  return http.put<void>('/api/user/profile', data)
}

/**
 * 更新用户头像
 */
export function updateAvatar(ossId: number) {
  return http.put<void>(`/api/user/avatar?ossId=${ossId}`)
}

/**
 * 更新用户昵称
 */
export function updateNickname(nickName: string) {
  return http.put<void>(`/api/user/nickname?nickName=${encodeURIComponent(nickName)}`)
}
